/**
 * 解析 LRC 歌词文本
 * @param {string} lrcText - LRC 格式的文本
 * @returns {Array}  [{ time: 1.5, text: '歌词第一句' }, ...]
 */
export const parseLyric = (lrcText: string): {
  time: number
  text: string
}[] => {
  const lrcArr = []
  // 匹配每行的时间戳和歌词（正则表达式）
  const regex = /\[(\d{2}):(\d{2})\.(\d{2,3})\](.*)/g
  let match

  while ((match = regex.exec(lrcText)) !== null) {
    const [, minute, second, millisecond, text] = match
    // 转换时间戳为总秒数（如 00:01.50 → 1.5 秒）
    const time =
      parseInt(minute, 10) * 60 +  // 分钟转秒
      parseInt(second, 10) +      // 秒
      parseInt(millisecond, 10) / 100  // 毫秒转秒（取两位时除以100，三位除以1000）

    lrcArr.push({ time, text: text.trim() })
  }

  // 按时间戳排序（确保顺序正确）
  return lrcArr.sort((a, b) => a.time - b.time)
}
